package Simulator;

import EcoSpeed.NotificationMessage;


/**
 * Class DriverKeyboard du simulateur
 */
public class DriverKeyboard extends EcoSpeed.DriverKeyboard {


    /**
     * Identifiant du driver de clavier
     */
     private int id;

     /**
      * Constructeur
      * @param id identifiant du driver de clavier
      */
    public DriverKeyboard (int id) {
        this.id = id;
    }

    /**
     * Ascesseur de l'identifiant
     * @return la valeur de l'identifiant
     */
    public int getId() {
        return id;
    }

    /**
     * Fonction qui effectue une demande d'ascenseur et retourne l'ascenseur à
     * utiliser
     * @param        currentFloor etage de debut de la demande
     * @param        targetFloor etage de fin de la demande
     * @param        urgent si la demande est urgentes ou pas
     */
    public void sendRequest( int currentFloor, int targetFloor, boolean urgent ){
	    if(currentFloor != targetFloor){
		    NotificationMessage message = new NotificationMessage(currentFloor, targetFloor, urgent, id);
		    setChanged();
		    this.notifyObservers(message);
	    }
    }
}
